#ifndef KWAYLAND_SERVER_SCREENMAP_P_H
#define KWAYLAND_SERVER_SCREENMAP_P_H

#include "screenmap_v1_interface.h"

#include <qwayland-server-screen-map-unstable-v1.h>

namespace KWaylandServer
{

class Display;
class OutputInterface;

class KWAYLANDSERVER_EXPORT ScreenMapV1InterfacePrivate : public QtWaylandServer::zwp_screen_map_manager_v1
{
public:
    ScreenMapV1InterfacePrivate(ScreenMapV1Interface *_q, Display *display);
    ~ScreenMapV1InterfacePrivate() override;

    ScreenMapV1Interface *q;
    static const quint32 s_version;

protected:
    Display* display;

    void zwp_screen_map_manager_v1_get_screen_names(Resource *resource) override;
    void zwp_screen_map_manager_v1_get_touch_ids(Resource *resource) override;
    void zwp_screen_map_manager_v1_get_touch_product_vendor(Resource *resource, uint32_t touchId) override;
    void zwp_screen_map_manager_v1_set_screen_map_status(Resource *resource, int32_t touchId, const QString &screenName) override;
};

}

#endif